/**
* 工程里面必须有个main包 main函数
* 除main包之外，建议文件夹的名字和包名相同
* 语法层面上每一句结束不需要加分号
* 变量定义了必须使用否则报错
 */
package main

// 如果vscode 配置好了 直接fmt.Print 包就自动引入了

func main() {
	/*
	 打印后没有换行
	 如果一句输出多个内容没有空格
	*/
	// fmt.Print("1234", "7788") // 12347788
	// fmt.Print("5566")         // 123477885566

	/*
	   fmt.Println
	   同句输出空格分开输出有回车
	*/
	// fmt.Println("123", "234") // 123 234
	// fmt.Println("aaa") // 123 234换行aaa

	/*
		   fmt.Printf
		   没有换行没有空格
		   输出类型
		   http://docscn.studygolang.com/pkg/fmt/
		   %v 按照值输出 例如 byte字符它的值是ascii 表对应的值
		   %d 输出十进制数据
		   %v	相应值的默认格式。在打印结构体时，“加号”标记（%+v）会添加字段名
			%#v	相应值的Go语法表示
			%T	相应值的类型的Go语法表示
			%%	字面上的百分号，并非值的占位符
			布尔：

			%t	单词 true 或 false。
			整数：

			%b	二进制表示
			%c	相应Unicode码点所表示的字符
			%d	十进制表示
			%o	八进制表示
			%q	单引号围绕的字符字面值，由Go语法安全地转义
			%x	十六进制表示，字母形式为小写 a-f
			%X	十六进制表示，字母形式为大写 A-F
			%U	Unicode格式：U+1234，等同于 "U+%04X"
			浮点数及其复合构成：

			%b	无小数部分的，指数为二的幂的科学计数法，与 strconv.FormatFloat
				的 'b' 转换格式一致。例如 -123456p-78
			%e	科学计数法，例如 -1234.456e+78
			%E	科学计数法，例如 -1234.456E+78
			%f	有小数点而无指数，例如 123.456
			%g	根据情况选择 %e 或 %f 以产生更紧凑的（无末尾的0）输出
			%G	根据情况选择 %E 或 %f 以产生更紧凑的（无末尾的0）输出
			字符串与字节切片：

			%s	字符串或切片的无解译字节
			%q	双引号围绕的字符串，由Go语法安全地转义
			%x	十六进制，小写字母，每字节两个字符
			%X	十六进制，大写字母，每字节两个字符
			指针：

			%p	十六进制表示，前缀 0x
	*/
	// var a byte = 'b'
	// var b int = 1
	// fmt.Printf("%v%v", a, b)
	// fmt.Printf("%v%v", a, b)

	// a := 1
	// b := 2
	// c := 3
	// fmt.Printf("a=%v b=%v, c=%v\n", a, b, c)
	// fmt.Printf("a=%v b=%v, c=%v", a, b, c)

	/*
	  转定义
	  \n 回车
	  \r 换行
	*/

}
